package com.csun.cmny.provider.service;


import com.csun.cmny.provider.dto.*;
import com.csun.cmny.provider.model.dto.doctor.HuaLongBloodPressureDownDto;
import com.csun.cmny.provider.model.dto.doctor.HuaLongTemperatureDownDto;
import com.csun.cmny.provider.model.vo.doctor.HuaLongBloodPressureRecordVo;
import com.csun.cmny.provider.model.vo.doctor.HuaLongTemperatureRecordVo;
import com.csun.cmny.provider.vo.DoctorWorkMedicalAdviceDownVo;
import com.csun.cmny.provider.vo.DoctorWorkMedicalRecordVo;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @Auther: ZNR
 * @Date: 2020-10-20
 * @Description:
 */
public interface ChongmingDoctorWorkService {

    //查询老人血压记录
    PageInfo selectBloodPressure(DoctorWorkBloodPressureDto doctorWorkBloodPressureDto);

    //上传老人血压记录
    Integer upBloodPressure(DoctorWorkUpBloodPressureDto doctorWorkUpBloodPressureDto);

    //查询老人体温记录
    PageInfo selectTemperature(DoctorWorkTemperatureDto doctorWorkTemperatureDto);

    //上传老人体温记录
    Integer upTemperature(DoctorWorkUpTemperatureDto doctorWorkUpTemperatureDto);
    
    //查询长期医嘱单
    PageInfo selectMedicalAdvice(DoctorWorkMedicalAdviceDto doctorWorkMedicalAdviceDto);

    //添加长期医嘱单
    Integer addMedicalAdvice(DoctorWorkAddMedicalAdviceDto doctorWorkAddMedicalAdviceDto);

    //结束长期医嘱
    Integer stopMedicalAdvice(DoctorWorkStopMedicalAdviceDto doctorWorkStopMedicalAdviceDto);

    //修改长期医嘱
    Integer modifyMedicalAdvice(DoctorWorkModifyMedicalAdviceDto doctorWorkModifyMedicalAdviceDto);

    //删除长期医嘱
    Integer deleteMedicalAdvice(DoctorWorkModifyMedicalAdviceDto doctorWorkModifyMedicalAdviceDto);

    //查询病程记录
    PageInfo selectMedicalRecord(DoctorWorkMedicalRecordDto doctorWorkMedicalRecordDto);

    //查询病程记录(不分页)
    List<DoctorWorkMedicalRecordVo> selectMedicalRecordToList(DoctorWorkMedicalRecordDto doctorWorkMedicalRecordDto);

    //添加病程记录
    Integer addMedicalRecord(DoctorWorkAddMedicalRecordDto doctorWorkAddMedicalRecordDto);

    //修改病程记录
    Integer modifyMedicalRecord(DoctorWorkModifyMedicalRecordDto doctorWorkModifyMedicalRecordDto);

    //删除病程记录
    Integer deleteMedicalRecord(DoctorWorkModifyMedicalRecordDto doctorWorkModifyMedicalRecordDto);

    /**
     * 体温报表导出（老人Id, 时间）
     *
     * @param huaLongTemperatureDownDto the hua long temperature down dto
     *
     * @return  the list.
     */
    List<HuaLongTemperatureRecordVo> queryTemperatureRecord(HuaLongTemperatureDownDto huaLongTemperatureDownDto);

    /**
     * 血压报表导出（老人Id, 时间）
     *
     * @param huaLongBloodPressureDownDto   the hua long blood pressure down dto
     *
     * @return  the list.
     */
    List<HuaLongBloodPressureRecordVo> queryBloodPressureRecord(HuaLongBloodPressureDownDto huaLongBloodPressureDownDto);

    //长期医嘱单报表导出
    List<DoctorWorkMedicalAdviceDownVo> queryMedicalAdvice(DoctorWorkMedicalAdviceDownDto doctorWorkMedicalAdviceDownDto);
}
